how to become a backend developer